1. Field of the Invention
This invention relates to game controllers for playing computer games, and more particularly, to game controller sensitivity with respect to player inputs.
2. Description of the Related Art
The advent of improved computer games has spawned a revolution in the computer gaming industry. Many new games are developed each year that take advantage of the latest technology advancements. These new games typically allow the user to control the position of an object (e.g., aircraft, gun, robot) in a three-dimensional game environment created by the game software and presented as a video image on a visual display. In some games, the player may also control the angular orientation of the object in the three-dimensional game environment.
To fully enjoy these new games, sophisticated game controllers with six degrees-of-freedom (e.g., three for a linear displacement along an X-axis, Y-axis, and Z-axis, and three angular displacements in a roll, pitch, and yaw orientation, respectively) were developed. These game controllers assist the user in performing 360.degree. combination maneuvers, such as flips and spins, without the player touching the keyboard or game controller buttons, or spinning a "spinner" knob. One example of an advanced game controller is the CYBERMAN 2, developed by Logitech Inc. of Fremont, Calif. This game controller has a spring type mechanical attachment to a base that, when combined with digital technology, allows a player to move realistically in all directions in gaming and virtual reality environments.
Controlling an object in a three-dimensional game environment is more difficult than controlling the same object in a two-dimensional plane. Any undesired, redundant movements of the player's hand results in inter-axis influences. These influences tend to cause the game controller to report axis values that are not under the player's direct or desired control. Conventional game controllers do not account for these influences which result in diminished player control over the object in the game environment.
Furthermore, there are certain game scenarios that require the player to precisely move the object in the game environment. For example, in one particular game scenario, it may be necessary to focus the object (e.g., a gun) on a fast moving target. To successfully hit the target, a typical player will attempt to track the target with increasingly precise movements of the game controller. For this level of play, it is desired that the ratio of the speed of the object, over the displacement of the game controller, be some value less than one. Having a ratio less than one provides the player with greater control over the object for small displacements of the game controller.
Unfortunately, it is not known a priori when the player will need such additional control over the object. Most game scenarios change too quickly for the player to manually adjust the game controller sensitivity while playing the game. Moreover, the large number of game scenarios combined with the virtually unlimited number of player responses to such scenarios, prohibits the game software itself from adjusting the game controller sensitivity. Even more important, is the prevalent industry philosophy that software games should challenge the player by not giving the player unwanted assistance in obtaining the goals of the game. In other words, it is desirable to assist the player in acquiring the target without guiding the player to the target.
Conventional game controllers do not give a player additional control over the object during a game scenario. As a result, the player becomes frustrated with the response of the game controller to the player's inputs, thereby diminishing the player's enjoyment of the game.
Accordingly, there is a need for a system that automatically adjusts game controller sensitivity to player inputs. Such a system must be able to determine, during a game, when and by how much the game controller sensitivity should be adjusted to suit the player's needs for a particular game scenario. Such a system should be able to work with a variety of game controllers and game software.
It is further desired that the system suppress undesired, redundant movements of the player's hand which tend to cause the game controller to report axis values that are not under the player's direct or desired control.